<html>
<head><meta charset="utf-8"><title>unstable fingerprints - actually in 1.52 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html">unstable fingerprints - actually in 1.52</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="237713386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713386">(May 06 2021 at 19:11)</a>:</h4>
<p><span class="user-mention" data-user-id="125294">@Aaron Hill</span> is there a chance I got it wrong and the unstable fingerprints error is actually in 1.52?</p>



<a name="237713395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713395">(May 06 2021 at 19:12)</a>:</h4>
<p>we're seeing a few bug reports that suggest that</p>



<a name="237713436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713436">(May 06 2021 at 19:12)</a>:</h4>
<p>I guess I should go track down the PR that added it</p>



<a name="237713543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713543">(May 06 2021 at 19:13)</a>:</h4>
<p>it definitely is, yeah</p>



<a name="237713562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713562">(May 06 2021 at 19:13)</a>:</h4>
<p>I ran into it on my second <code>cargo build</code> on 1.52.0</p>



<a name="237713579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713579">(May 06 2021 at 19:13)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/83007">https://github.com/rust-lang/rust/pull/83007</a></p>



<a name="237713605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713605">(May 06 2021 at 19:13)</a>:</h4>
<p>hmm</p>



<a name="237713612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713612">(May 06 2021 at 19:13)</a>:</h4>
<p>well</p>



<a name="237713615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713615">(May 06 2021 at 19:13)</a>:</h4>
<p>oops</p>



<a name="237713617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713617">(May 06 2021 at 19:13)</a>:</h4>
<p>I can't reproduce the <code>syn</code> crash on 1.52.0 for some reason</p>



<a name="237713639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713639">(May 06 2021 at 19:14)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="121055">@Pietro Albini</span></p>



<a name="237713681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713681">(May 06 2021 at 19:14)</a>:</h4>
<p>but yeah, it looks like the PR itself is in 1.52.0 :/</p>



<a name="237713709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713709">(May 06 2021 at 19:14)</a>:</h4>
<p>I guess we might want to fast-track the 'nice error message' PR and then do a point release perhaps?</p>



<a name="237713732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713732">(May 06 2021 at 19:14)</a>:</h4>
<p>gah</p>



<a name="237713750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713750">(May 06 2021 at 19:14)</a>:</h4>
<p>will it be possible to disable the ICH verification somehow?</p>



<a name="237713777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713777">(May 06 2021 at 19:15)</a>:</h4>
<p>we don't want to do that, this is finding real bugs in incremental</p>



<a name="237713789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713789">(May 06 2021 at 19:15)</a>:</h4>
<p>I'm strongly opposed to doing that</p>



<a name="237713792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713792">(May 06 2021 at 19:15)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> I'd say let's shoot for a point release next thu?</p>



<a name="237713807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713807">(May 06 2021 at 19:15)</a>:</h4>
<p>there was already one miscompilation due to the lack of this option</p>



<a name="237713818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713818">(May 06 2021 at 19:15)</a>:</h4>
<p>and we were really lucky to find that one</p>



<a name="237713865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713865">(May 06 2021 at 19:15)</a>:</h4>
<p>if we disabled it, people would likely get occasional weird results, run <code>cargo clean</code>, and then never report anything</p>



<a name="237713894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237713894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237713894">(May 06 2021 at 19:15)</a>:</h4>
<p><span class="user-mention silent" data-user-id="121055">Pietro Albini</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237713792">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> I'd say let's shoot for a point release next thu?</p>
</blockquote>
<p>yeah, I mean, it's just a better error, not anything truly ground breaking, but I think that sounds right</p>



<a name="237714065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714065">(May 06 2021 at 19:17)</a>:</h4>
<p>I'm going to try to minimize the <code>evaluate_obligation</code> issue further, so that we can hopefully get an actual fix soon</p>



<a name="237714076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714076">(May 06 2021 at 19:17)</a>:</h4>
<p>so that it doesn't keep lingering across future releases</p>



<a name="237714131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714131">(May 06 2021 at 19:17)</a>:</h4>
<p>yeah, I mean, ultimately the bug isn't new</p>



<a name="237714152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714152">(May 06 2021 at 19:17)</a>:</h4>
<p>so I think it's still "right"</p>



<a name="237714157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714157">(May 06 2021 at 19:17)</a>:</h4>
<p>just pretty unfortunate</p>



<a name="237714179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714179">(May 06 2021 at 19:17)</a>:</h4>
<p>yeah - a lot of people have been hitting it</p>



<a name="237714815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714815">(May 06 2021 at 19:22)</a>:</h4>
<p>for the stable point release we'll probably want to backport any fixes we do have in hand, and the diagnostic fix</p>



<a name="237714828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237714828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237714828">(May 06 2021 at 19:22)</a>:</h4>
<p>do you remember if the <code>evaluate_obligation</code> issue that chalk hit in <a href="https://github.com/rust-lang/rust/issues/83115">#83115</a> (and which we can probably close) and was fixed in <a href="https://github.com/rust-lang/rust/issues/83220">#83220</a> for 1.53 is the same as the one that syn hits ? could the fix have caused this new one, hence why it doesn't reproduce on 1.52 ?</p>



<a name="237715112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715112">(May 06 2021 at 19:24)</a>:</h4>
<p>It's definitely a different issue</p>



<a name="237715123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715123">(May 06 2021 at 19:24)</a>:</h4>
<p>I don't <em>think</em> the fix could have caused the syn issue</p>



<a name="237715131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715131">(May 06 2021 at 19:24)</a>:</h4>
<p>but I'm not 100% certain</p>



<a name="237715602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715602">(May 06 2021 at 19:28)</a>:</h4>
<p>and it's super hard to analyze without minimization</p>



<a name="237715708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715708">(May 06 2021 at 19:29)</a>:</h4>
<p>I've been making progress on the <code>syn</code> crate</p>



<a name="237715720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237715720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237715720">(May 06 2021 at 19:29)</a>:</h4>
<p>I may have a nicer example later today</p>



<a name="237716426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237716426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237716426">(May 06 2021 at 19:34)</a>:</h4>
<p>let us know if/how we can help</p>



<a name="237719918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237719918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237719918">(May 06 2021 at 20:02)</a>:</h4>
<p>I'll nominate <a href="https://github.com/rust-lang/rust/issues/83220">#83220</a> for stable backport then, since I'm hitting the chalk issue on almost every build while working on rust-analyzer</p>



<a name="237742077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742077">(May 06 2021 at 22:46)</a>:</h4>
<p>Ugh, someone just hit the <code>predicates_of</code> issue on stable: <a href="https://github.com/rust-lang/rust/issues/85004">https://github.com/rust-lang/rust/issues/85004</a></p>



<a name="237742088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742088">(May 06 2021 at 22:46)</a>:</h4>
<p>The fix in <a href="https://github.com/rust-lang/rust/pull/84233">https://github.com/rust-lang/rust/pull/84233</a> only landed a week ago</p>



<a name="237742211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742211">(May 06 2021 at 22:48)</a>:</h4>
<p>Wow, there's <em>another</em> case: <a href="https://github.com/rust-lang/rust/issues/85010">https://github.com/rust-lang/rust/issues/85010</a></p>



<a name="237742290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742290">(May 06 2021 at 22:49)</a>:</h4>
<p>this is going to be a bad release for incr comp :/</p>



<a name="237742485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742485">(May 06 2021 at 22:51)</a>:</h4>
<p>I think we should make a blog post about this</p>



<a name="237742544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742544">(May 06 2021 at 22:52)</a>:</h4>
<p>I think that's a good idea</p>



<a name="237742620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742620">(May 06 2021 at 22:53)</a>:</h4>
<p>I'm happy to review one, probably won't have time to work on one tonight - we can publish tomorrow though</p>



<a name="237742742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742742">(May 06 2021 at 22:54)</a>:</h4>
<p><span class="user-mention" data-user-id="125294">@Aaron Hill</span> do you have a read on whether if we waited, say, 2 weeks we'd have a full set of fixes? I'm interested in seeing if there's mitigations we can deploy safely, e.g. marking all known queries with problems to not be cached on disk</p>



<a name="237742762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742762">(May 06 2021 at 22:54)</a>:</h4>
<p>This only affects queries that <em>aren't</em> cached on disk</p>



<a name="237742763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742763">(May 06 2021 at 22:54)</a>:</h4>
<p>I think a performance hit may not be terrible for now at least</p>



<a name="237742799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742799">(May 06 2021 at 22:55)</a>:</h4>
<p>What we could do is mark them as <code>eval_always</code></p>



<a name="237742812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742812">(May 06 2021 at 22:55)</a>:</h4>
<p>Ah that was it</p>



<a name="237742817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742817">(May 06 2021 at 22:55)</a>:</h4>
<p>unfortunately, the performance hit for <code>evaluate_obligation</code> was awful</p>



<a name="237742821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742821">(May 06 2021 at 22:55)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/84280">https://github.com/rust-lang/rust/pull/84280</a></p>



<a name="237742865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742865">(May 06 2021 at 22:55)</a>:</h4>
<p>and that's one of the tricky issues</p>



<a name="237742922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742922">(May 06 2021 at 22:56)</a>:</h4>
<p>Hmm</p>



<a name="237742925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742925">(May 06 2021 at 22:56)</a>:</h4>
<p>I didn't dig too deeply into why the performance was so bad</p>



<a name="237742942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742942">(May 06 2021 at 22:56)</a>:</h4>
<p>what I suspect is that we have a long query chain</p>



<a name="237742956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742956">(May 06 2021 at 22:56)</a>:</h4>
<p><code>evaliate_obligation</code> -&gt; <code>query_a</code> -&gt; <code>query_b</code></p>



<a name="237742964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742964">(May 06 2021 at 22:56)</a>:</h4>
<p>Yeah that does seem pretty bad - basically we could just disable incremental</p>



<a name="237742965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742965">(May 06 2021 at 22:56)</a>:</h4>
<p>where some of the queries in that chain are also not cached on disk</p>



<a name="237742978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742978">(May 06 2021 at 22:56)</a>:</h4>
<p>normally, everything is green, so we don't have to do anything</p>



<a name="237742987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237742987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237742987">(May 06 2021 at 22:57)</a>:</h4>
<p>but with <code>eval_always</code>, we actually need the inputs to the query available</p>



<a name="237743009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743009">(May 06 2021 at 22:57)</a>:</h4>
<p>so we have to actually compute a bunch of non-cached queries that we could have skipped</p>



<a name="237743019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743019">(May 06 2021 at 22:57)</a>:</h4>
<p>Mhm</p>



<a name="237743038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743038">(May 06 2021 at 22:57)</a>:</h4>
<p>since so many people are hitting this, I have to wonder how many miscompilations have been caused by hidden incr comp bugs</p>



<a name="237743048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743048">(May 06 2021 at 22:57)</a>:</h4>
<p>other than the one we know about</p>



<a name="237743093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743093">(May 06 2021 at 22:58)</a>:</h4>
<p>It's off by default in release mode, right?</p>



<a name="237743114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743114">(May 06 2021 at 22:58)</a>:</h4>
<p>So probably not too many into production at least</p>



<a name="237743128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743128">(May 06 2021 at 22:58)</a>:</h4>
<p>Unless this affects disabled incr too?</p>



<a name="237743147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743147">(May 06 2021 at 22:58)</a>:</h4>
<p>no, only incr enabled</p>



<a name="237743165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743165">(May 06 2021 at 22:58)</a>:</h4>
<p>Ok, yeah</p>



<a name="237743174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237743174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237743174">(May 06 2021 at 22:58)</a>:</h4>
<p>I was debating earlier today if we should just disable it</p>



<a name="237744218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237744218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237744218">(May 06 2021 at 23:08)</a>:</h4>
<p>Maybe only disable it for stable releases? Then we still get feedback on whether the fixes work</p>



<a name="237744255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237744255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237744255">(May 06 2021 at 23:08)</a>:</h4>
<p>The perf hit is a shame but better than ICEs everywhere :/</p>



<a name="237744307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237744307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237744307">(May 06 2021 at 23:09)</a>:</h4>
<p>Hmm actually I think it would be better to only disable it by default, which I think is a cargo change and not rustc</p>



<a name="237821981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237821981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237821981">(May 07 2021 at 13:26)</a>:</h4>
<p>I think writing a blog post is a good idea. I assume the target here would be the main Rust blog, <em>not</em> “Inside Rust”, right?</p>



<a name="237822061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822061">(May 07 2021 at 13:27)</a>:</h4>
<p>I think so, yes</p>



<a name="237822077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822077">(May 07 2021 at 13:27)</a>:</h4>
<p>I'm not yet sure what message we want to send</p>



<a name="237822157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822157">(May 07 2021 at 13:27)</a>:</h4>
<p>In particular, if we opt to disable incremental in a point release, that would be something we should say</p>



<a name="237822237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822237">(May 07 2021 at 13:28)</a>:</h4>
<p>but I don't know yet whether I feel that's the right solution</p>



<a name="237822263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822263">(May 07 2021 at 13:28)</a>:</h4>
<p>It's definitely true that <em>many</em> people are hitting the bugs here</p>



<a name="237822282"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822282" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822282">(May 07 2021 at 13:28)</a>:</h4>
<p>(which is worrying, given their soundness implications)</p>



<a name="237822352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822352">(May 07 2021 at 13:29)</a>:</h4>
<p>Well, we’re operating on the assumption that one only hit the soundness issues when doing incremental, which means (if you’re not opting into explicitly) then only in debug builds, right?</p>



<a name="237822397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822397">(May 07 2021 at 13:29)</a>:</h4>
<p>(that was the same point you made up above, no?)</p>



<a name="237822400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822400">(May 07 2021 at 13:29)</a>:</h4>
<p>Sure, I mean, I don't think it means we're likely to ship broken code</p>



<a name="237822442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822442">(May 07 2021 at 13:29)</a>:</h4>
<p>And that's probably worth saying</p>



<a name="237822545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822545">(May 07 2021 at 13:30)</a>:</h4>
<p>So we probably <em>should</em> decide whether we are going to turn off incremental by default or not</p>



<a name="237822557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822557">(May 07 2021 at 13:30)</a>:</h4>
<p>before trying to write the post</p>



<a name="237822599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822599">(May 07 2021 at 13:30)</a>:</h4>
<p>I mean, I could try to write a post where the language works  regardless of that choice</p>



<a name="237822636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822636">(May 07 2021 at 13:30)</a>:</h4>
<p>(In case its not clear, I am willing to have a go at writing the post here.)</p>



<a name="237822828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822828">(May 07 2021 at 13:32)</a>:</h4>
<p>yeah... I think it'd be stronger if we just come right out and a) admit the bug b) indicate that we do not believe it affects release builds, unless users have explicitly opt'd in to incremental c) immediately indicate what you can do to prevent ICEs locally, pending the point release - that is, CARGO_INCREMENTAL=0 I believe and d) suggest a timeline on the point release, currently aiming for Thursday next week</p>



<a name="237822904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822904">(May 07 2021 at 13:32)</a>:</h4>
<p>And I think I'm increasingly feeling that we should just disable incremental</p>



<a name="237822940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822940">(May 07 2021 at 13:32)</a>:</h4>
<p>Oh, one other thing we should definitely include - "Why should users not stay on 1.51?"</p>



<a name="237822981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237822981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237822981">(May 07 2021 at 13:33)</a>:</h4>
<p>Okay. Let me get started using those bullets as a baseline</p>



<a name="237823050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823050">(May 07 2021 at 13:33)</a>:</h4>
<p>(obviously feel free to push back on any of those, they're just my intuition, no strong feeling)</p>



<a name="237823110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823110">(May 07 2021 at 13:33)</a>:</h4>
<p>Its hard to know whether to disable incremental</p>



<a name="237823138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823138">(May 07 2021 at 13:34)</a>:</h4>
<p>when you say that, do you mean not even allow someone to opt into using it?</p>



<a name="237823272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823272">(May 07 2021 at 13:34)</a>:</h4>
<p>(which I really assume means, force someone to pass <code>-Z unstable-features</code> or whatever to get access to it, since we obviously want to be able to opt-into using it on nightly)</p>



<a name="237823285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823285">(May 07 2021 at 13:34)</a>:</h4>
<p>I mean just by default</p>



<a name="237823309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823309">(May 07 2021 at 13:35)</a>:</h4>
<p>i.e., cargo defaults change</p>



<a name="237823334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823334">(May 07 2021 at 13:35)</a>:</h4>
<p>Okay. I have mixed feelings there</p>



<a name="237823396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823396">(May 07 2021 at 13:35)</a>:</h4>
<p>We don’t have good way to measure harm that would cause vs how many issues it would resolve</p>



<a name="237823413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823413">(May 07 2021 at 13:35)</a>:</h4>
<p>I am also not sure - we could go harder, and basically hard disable without some -Z flag (but perhaps silently, so as to not break buidls)</p>



<a name="237823447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823447">(May 07 2021 at 13:35)</a>:</h4>
<p>It would mostly "only" make builds slower</p>



<a name="237823460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823460">(May 07 2021 at 13:35)</a>:</h4>
<p>right</p>



<a name="237823529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823529">(May 07 2021 at 13:36)</a>:</h4>
<p>and the pain of having to <code>cargo clean</code> or whatever in response to the ICE, that’s not a good UX</p>



<a name="237823534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823534">(May 07 2021 at 13:36)</a>:</h4>
<p>by our benchmarks, roughly 2-2.5x slower</p>



<a name="237823571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823571">(May 07 2021 at 13:36)</a>:</h4>
<p>in the "happy" incremental case, at least</p>



<a name="237823588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823588">(May 07 2021 at 13:36)</a>:</h4>
<p>obviously incremental is sometimes not faster</p>



<a name="237823603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823603">(May 07 2021 at 13:36)</a>:</h4>
<p>but on the other hand, we’re getting real data right now about where its broken. :)</p>



<a name="237823626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823626">(May 07 2021 at 13:37)</a>:</h4>
<p>Maybe the answer is the turn it off by default</p>



<a name="237823640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823640">(May 07 2021 at 13:37)</a>:</h4>
<p>hm, yeah, I don't know how much that data is exposing <em>new</em> bugs, though</p>



<a name="237823660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823660">(May 07 2021 at 13:37)</a>:</h4>
<p>and focus some real effort on making it easier to turn a ICE into a usable bug report</p>



<a name="237823689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823689">(May 07 2021 at 13:37)</a>:</h4>
<p>the ideal would be to be able to continue working after detecting it, but I don't know if that's possible</p>



<a name="237823707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823707">(May 07 2021 at 13:37)</a>:</h4>
<p>I think no</p>



<a name="237823721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823721">(May 07 2021 at 13:37)</a>:</h4>
<p>(i.e. stashing source artifacts and making it nearly trivial for users to upload the diff that exposes teh bug)</p>



<a name="237823804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823804">(May 07 2021 at 13:38)</a>:</h4>
<p>because without that in place, these bug reports don’t necessarily help us all that much</p>



<a name="237823809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823809">(May 07 2021 at 13:38)</a>:</h4>
<p>Right?</p>



<a name="237823833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823833">(May 07 2021 at 13:38)</a>:</h4>
<p>hm</p>



<a name="237823841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823841">(May 07 2021 at 13:38)</a>:</h4>
<p><span class="user-mention" data-user-id="125294">@Aaron Hill</span> might be able to say more</p>



<a name="237823858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823858">(May 07 2021 at 13:38)</a>:</h4>
<p>My impression is we're not seeing too many <em>new</em> bug reports</p>



<a name="237823905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823905">(May 07 2021 at 13:38)</a>:</h4>
<p>Right, I’m just saying: <em>If</em> we disable incremental now</p>



<a name="237823920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823920">(May 07 2021 at 13:39)</a>:</h4>
<p>what the the criteria we’d use for re-enabling?</p>



<a name="237823957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823957">(May 07 2021 at 13:39)</a>:</h4>
<p>One easy answer is “When all the known bugs are fixed"</p>



<a name="237823969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823969">(May 07 2021 at 13:39)</a>:</h4>
<p>and I’m suggesting that might not be good enough</p>



<a name="237823983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823983">(May 07 2021 at 13:39)</a>:</h4>
<p>fixing the known bugs? We have a list</p>



<a name="237823993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237823993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237823993">(May 07 2021 at 13:39)</a>:</h4>
<p>yeah</p>



<a name="237824011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824011">(May 07 2021 at 13:39)</a>:</h4>
<p>I guess, I feel like we're not actually seeing that many new ones</p>



<a name="237824095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824095">(May 07 2021 at 13:40)</a>:</h4>
<p>most of them look like they're hitting the same queries at least</p>



<a name="237824220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824220">(May 07 2021 at 13:40)</a>:</h4>
<p>Hmm, this one <a href="https://github.com/rust-lang/rust/issues/85019">#85019</a> panicked while trying to print the query stack. That’s unfortunate.</p>



<a name="237824321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824321">(May 07 2021 at 13:41)</a>:</h4>
<p>Anyway, if a point release won’t happen until next week at the earliest, at least based on this bug alone, then I feel like I can write a blog post right now</p>



<a name="237824354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824354">(May 07 2021 at 13:41)</a>:</h4>
<p>without waiting for too many details on that decision</p>



<a name="237824396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824396">(May 07 2021 at 13:41)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/84970#issuecomment-833180651">https://github.com/rust-lang/rust/issues/84970#issuecomment-833180651</a> has the list fwiw</p>



<a name="237824452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824452">(May 07 2021 at 13:42)</a>:</h4>
<p>item children is on it, so my guess is we know about the <a href="https://github.com/rust-lang/rust/issues/85019">#85019</a> cause</p>



<a name="237824540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824540">(May 07 2021 at 13:42)</a>:</h4>
<p>We'll probably need to make a decision today or by tuesday EOD roughly on what we do for the release, it's still not clear</p>



<a name="237824562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824562">(May 07 2021 at 13:42)</a>:</h4>
<p>I also don't really know <em>who</em> should be involved in that</p>



<a name="237824585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824585">(May 07 2021 at 13:42)</a>:</h4>
<p>(or how we make such a decision)</p>



<a name="237824620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824620">(May 07 2021 at 13:43)</a>:</h4>
<p>At the very least, I want <span class="user-group-mention" data-user-group-id="3282">@wg-incr-comp</span> to be aware of this conversation. ^</p>



<a name="237824777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824777">(May 07 2021 at 13:44)</a>:</h4>
<p>So after taking a breath and thinking about it</p>



<a name="237824826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824826">(May 07 2021 at 13:44)</a>:</h4>
<p>I’m trying to imagine the worst case scenario for turning off incremental by default (which, again, to my knowledge will only affect debug builds)</p>



<a name="237824856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824856">(May 07 2021 at 13:44)</a>:</h4>
<p>like you said, if the time impact is 2x - 2.5x</p>



<a name="237824888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824888">(May 07 2021 at 13:45)</a>:</h4>
<p>debug and check builds, by default</p>



<a name="237824894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824894">(May 07 2021 at 13:45)</a>:</h4>
<p>then at <em>worst</em>, people will report “compile times got slower"</p>



<a name="237824989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237824989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237824989">(May 07 2021 at 13:45)</a>:</h4>
<p>(will they potentially see an uptick in memory usage? It would correspond to whatever they get from a clean build; I cannot see that being a big source of complaints <em>in this context</em>, compared to the time issues.)</p>



<a name="237825060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825060">(May 07 2021 at 13:46)</a>:</h4>
<p>and really, that will give us data too, I think</p>



<a name="237825076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825076">(May 07 2021 at 13:46)</a>:</h4>
<p>hmmm yeah I suspect it's not a big deal, they <em>did</em> have a higher memory usage for the incremental full compile (i.e. on their first build)</p>



<a name="237825195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825195">(May 07 2021 at 13:46)</a>:</h4>
<p>(i.e. if we see bug reports about the “compile times got slower”, that will give us data about harm done. Would I prefer to have this be provided instead via automatic telemetry? Yes. Yes I would. But I’ll accept whatever I can get.)</p>



<a name="237825288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825288">(May 07 2021 at 13:47)</a>:</h4>
<p>Are you imagining the point release would <em>also</em> have the improved error messaging for the ICE?</p>



<a name="237825342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825342">(May 07 2021 at 13:47)</a>:</h4>
<p>(so that people who <em>are</em> opting into incremental mode can get better feedback about what’s going on?)</p>



<a name="237825467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825467">(May 07 2021 at 13:48)</a>:</h4>
<p>I think my expectation is we would:</p>
<ul>
<li>Improve error message</li>
<li>Change cargo defaults to disable incremental</li>
<li>Maybe also require a -Z flag or env variable that's not CARGO_INCREMENTAL, if we're saying 'it's actually quite broken and you probably <em>don't</em> want to opt in unless you're specifically testing'</li>
</ul>



<a name="237825549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825549">(May 07 2021 at 13:48)</a>:</h4>
<p>That’s the thing, I don’t know if I’d go that far as to say that its only for testing</p>



<a name="237825601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825601">(May 07 2021 at 13:49)</a>:</h4>
<p>I’d prefer an attitude more like “you should only do this if you’re prepared to have to manually <code>cargo clean</code> when this error arises…"</p>



<a name="237825642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825642">(May 07 2021 at 13:49)</a>:</h4>
<p>because at that point, what is harm of providing it?</p>



<a name="237825647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825647">(May 07 2021 at 13:49)</a>:</h4>
<p>yeah, maybe</p>



<a name="237825670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825670">(May 07 2021 at 13:49)</a>:</h4>
<p>(as an opt-in option, i mean)</p>



<a name="237825674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825674">(May 07 2021 at 13:49)</a>:</h4>
<p>I.. have a hard time imagining people wanting that</p>



<a name="237825679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825679">(May 07 2021 at 13:49)</a>:</h4>
<p>but it's possible</p>



<a name="237825684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825684">(May 07 2021 at 13:49)</a>:</h4>
<p>Really?</p>



<a name="237825776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825776">(May 07 2021 at 13:50)</a>:</h4>
<p>I guess it again depends on how often this error is arising</p>



<a name="237825787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825787">(May 07 2021 at 13:50)</a>:</h4>
<p>people are reporting that in some cases it's pretty much on every build for them, plausibly because of in-the-background rust-analyzer builds</p>



<a name="237825812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825812">(May 07 2021 at 13:50)</a>:</h4>
<p>hmm</p>



<a name="237825820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825820">(May 07 2021 at 13:50)</a>:</h4>
<p>how prevalent that is, I don't know</p>



<a name="237825822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825822">(May 07 2021 at 13:50)</a>:</h4>
<p>if you're working on a project where these bugs don't show up, it seems strange to <em>prevent</em> you from enabling incremental</p>



<a name="237825867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825867">(May 07 2021 at 13:50)</a>:</h4>
<p>(turning it off by default seems fine)</p>



<a name="237825924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825924">(May 07 2021 at 13:51)</a>:</h4>
<p>that could also count as a breaking change depending on how you want to look at it</p>



<a name="237825956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825956">(May 07 2021 at 13:51)</a>:</h4>
<p>well, "prevent" vs. "require you to knowingly opt-in"</p>



<a name="237825979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825979">(May 07 2021 at 13:51)</a>:</h4>
<p>We can certainly give the new env variable name in the blog post, for example</p>



<a name="237825982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237825982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237825982">(May 07 2021 at 13:51)</a>:</h4>
<p>I'm responding to</p>
<blockquote>
<p>Maybe also require a -Z flag or env variable that's not CARGO_INCREMENTAL, if we're saying 'it's actually quite broken and you probably don't want to opt in unless you're specifically testing'</p>
</blockquote>



<a name="237826011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826011">(May 07 2021 at 13:51)</a>:</h4>
<p>making that -Z on stable is the same as preventing you from using it</p>



<a name="237826082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826082">(May 07 2021 at 13:52)</a>:</h4>
<p>oh, sure, I mean I don't mean <em>destabilize</em> necessarily</p>



<a name="237826129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826129">(May 07 2021 at 13:52)</a>:</h4>
<p>e.g., we could require CARGO_INCREMENTAL=reallyyes</p>



<a name="237826424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826424">(May 07 2021 at 13:54)</a>:</h4>
<p>I see, you’re mostly thinking “we should require people to opt in with some marker that shows that they’ve read the fine print about the issues here” ?</p>



<a name="237826486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826486">(May 07 2021 at 13:54)</a>:</h4>
<p>sort of like how x.py is loud about new versions until you update the marker in config.toml</p>



<a name="237826510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826510">(May 07 2021 at 13:54)</a>:</h4>
<p>Right, yeah - I guess if they don't hit the bug, maybe you don't actually care</p>



<a name="237826567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826567">(May 07 2021 at 13:55)</a>:</h4>
<p>and the error message would additionally tell you how to <em>optout</em></p>



<a name="237826586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826586">(May 07 2021 at 13:55)</a>:</h4>
<p>I think if the diagnostic is written properly, that level of opting-in should not be necessary</p>



<a name="237826654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237826654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237826654">(May 07 2021 at 13:55)</a>:</h4>
<p>Yeah I think that's true</p>



<a name="237827169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237827169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237827169">(May 07 2021 at 13:59)</a>:</h4>
<p>there are some people who are (or were) very involved with incr-comp yet are not on wg-incr-comp</p>



<a name="237827436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237827436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237827436">(May 07 2021 at 14:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827169">said</a>:</p>
<blockquote>
<p>there are some people who are (or were) very involved with incr-comp yet are not on wg-incr-comp</p>
</blockquote>
<p>that seems like an issue in itself :/</p>



<a name="237827462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237827462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237827462">(May 07 2021 at 14:00)</a>:</h4>
<p>so I’m going to try to CC them on the fly right now: <span class="user-mention" data-user-id="124287">@mw</span> , <span class="user-mention" data-user-id="248906">@cjgillot</span> are the ones that most immediately come to mind</p>



<a name="237827482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237827482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237827482">(May 07 2021 at 14:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827436">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827169">said</a>:</p>
<blockquote>
<p>there are some people who are (or were) very involved with incr-comp yet are not on wg-incr-comp</p>
</blockquote>
<p>that seems like an issue in itself :/</p>
</blockquote>
<p>yes I know</p>



<a name="237827692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237827692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237827692">(May 07 2021 at 14:02)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827169">said</a>:</p>
<blockquote>
<p>there are some people who are (or were) very involved with incr-comp yet are not on wg-incr-comp</p>
</blockquote>
<p>also <span class="user-mention" data-user-id="281739">@oliver</span></p>



<a name="237829563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237829563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237829563">(May 07 2021 at 14:13)</a>:</h4>
<p>fwiw there are definitely cases of people reverting to 1.51 to fix this - <a href="https://github.com/influxdata/influxdb_iox/pull/1449">https://github.com/influxdata/influxdb_iox/pull/1449</a></p>



<a name="237829960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237829960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237829960">(May 07 2021 at 14:16)</a>:</h4>
<p>which is kind of reasonable without knowing about the problems, but we should definitely address this and have a strong recommendation to not do that I think</p>



<a name="237830718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237830718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237830718">(May 07 2021 at 14:21)</a>:</h4>
<p>or at least, not to do it once we have 1.52.1 out, right?</p>



<a name="237830825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237830825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237830825">(May 07 2021 at 14:22)</a>:</h4>
<p>well, I mean, either way the right fix <em>right now</em> is IMO CARGO_INCREMENTAL=0 for most users</p>



<a name="237830837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237830837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237830837">(May 07 2021 at 14:22)</a>:</h4>
<p>true</p>



<a name="237830858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237830858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237830858">(May 07 2021 at 14:22)</a>:</h4>
<p>going back to 1.51 really just introduces silent bugs, seems 'worse'</p>



<a name="237831509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237831509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237831509">(May 07 2021 at 14:26)</a>:</h4>
<p>If someone can figure out <em>how</em> to do <code>CARGO_INCREMENTAL=0</code> for their build setup, then yes, that’s absolutely better</p>



<a name="237831538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237831538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237831538">(May 07 2021 at 14:27)</a>:</h4>
<p>I’m just saying that I can understand people taking the seemingly easier route</p>



<a name="237831559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237831559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237831559">(May 07 2021 at 14:27)</a>:</h4>
<p>Oh for sure</p>



<a name="237831583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237831583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237831583">(May 07 2021 at 14:27)</a>:</h4>
<p>especially without an explanation for what’s happening here.</p>



<a name="237834146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834146">(May 07 2021 at 14:44)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> <span class="user-mention" data-user-id="125294">@Aaron Hill</span> Silly question: The miscompilations that result from unstable fingerprints, those are always due to <em>collisions</em>, right? As in, the source code changed, but due to fingerprint instability, the changed code is accidentally mapped to the same fingerprint as an earlier build, and so we incorrectly reuse a build artifact from a previous  compile?</p>



<a name="237834411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834411">(May 07 2021 at 14:45)</a>:</h4>
<p>(And the above issue is different from the second kind of problem that I believe can result from unstable fingerprints is a <em>failure to reuse</em> incremental build products. I.e., cases where source artifact did <em>not</em> change, but fingerprint instability led to a miscategorization of that, and so we do more work in a rebuild.)</p>



<a name="237834483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834483">(May 07 2021 at 14:46)</a>:</h4>
<p>I think that's true, but I'm not sure.</p>



<a name="237834551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834551">(May 07 2021 at 14:46)</a>:</h4>
<p>The main reason why I pose these questions is that I, intuitively, would imagine that the first case is <strong>very</strong> rare, and the second case is what we were originally trying to catch with the ICH check</p>



<a name="237834625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834625">(May 07 2021 at 14:47)</a>:</h4>
<p>(and thus, I would actually expect the number of miscompilations to be quite small. We should obviously still advise people not to downgrade the compiler, but I also don’t want to scare people too much here.)</p>



<a name="237834752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237834752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237834752">(May 07 2021 at 14:48)</a>:</h4>
<p><span class="user-mention" data-user-id="124287">@mw</span> <span class="user-mention" data-user-id="125250">@Wesley Wiser</span> <span class="user-mention" data-user-id="116107">@davidtwco</span>  I’d love one of you to double-check my hypothesis  above.</p>



<a name="237835318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237835318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237835318">(May 07 2021 at 14:51)</a>:</h4>
<p>let me try to catch up on the discussion so far</p>



<a name="237838866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237838866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237838866">(May 07 2021 at 15:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> I think the dangerous case is when some query result changes but it's fingerprint does not change, thus making the tracking system think that it can re-use a cached value that should actually be re-computed</p>



<a name="237839052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839052">(May 07 2021 at 15:14)</a>:</h4>
<p>“it’s fingerprint does not change” — is that not the same as a hash-collision?</p>



<a name="237839088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839088">(May 07 2021 at 15:14)</a>:</h4>
<p>yes</p>



<a name="237839153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839153">(May 07 2021 at 15:15)</a>:</h4>
<p>Or let me try again</p>



<a name="237839582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839582">(May 07 2021 at 15:16)</a>:</h4>
<p>"it's fingerprint does not change” — when that happens, there are two causes we tend to expect: 1. the hash function is skipping over state that it should be including, or 2. some part of the input is not stable from run-to-run, and thus causes a hash collision</p>



<a name="237839687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839687">(May 07 2021 at 15:17)</a>:</h4>
<p>is <em>that</em> a correct statement?</p>



<a name="237839917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237839917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237839917">(May 07 2021 at 15:17)</a>:</h4>
<p>(1) is correct, (2) I'm not sure</p>



<a name="237840117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840117">(May 07 2021 at 15:18)</a>:</h4>
<p>the input not being stable should lead to different hash values, but the probability of a collision should be just as small as ever, right?</p>



<a name="237840155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840155">(May 07 2021 at 15:19)</a>:</h4>
<p>Yeah that’s the same reasoning I was applying above when I said “this should be very rare"</p>



<a name="237840186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840186">(May 07 2021 at 15:19)</a>:</h4>
<p>i.e. instability would lead to false positives rather than false negatives during change detection</p>



<a name="237840230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840230">(May 07 2021 at 15:19)</a>:</h4>
<p>i.e. too much being recomputed rather than too little</p>



<a name="237840244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840244">(May 07 2021 at 15:19)</a>:</h4>
<p>which is harmless</p>



<a name="237840258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840258">(May 07 2021 at 15:19)</a>:</h4>
<p>(except for performance)</p>



<a name="237840272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840272">(May 07 2021 at 15:19)</a>:</h4>
<p>wait, it can lead to either, but  the too littel case is expected to happen almost never, right?</p>



<a name="237840358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840358">(May 07 2021 at 15:20)</a>:</h4>
<p>I want to try to be clear, at least in our conversation here, about things that are truly impossible versus having ~zero prob</p>



<a name="237840439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840439">(May 07 2021 at 15:20)</a>:</h4>
<p>so I had thought this was provided as an example: <a href="https://github.com/rust-lang/rust/issues/82920#issuecomment-796476702">https://github.com/rust-lang/rust/issues/82920#issuecomment-796476702</a></p>



<a name="237840501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840501">(May 07 2021 at 15:21)</a>:</h4>
<p>of an instability that led to a hash collision that led to too little being recompiled.</p>



<a name="237840502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840502">(May 07 2021 at 15:21)</a>:</h4>
<p>a hash collision, whatever the cause, will lead to a false negative, i.e. something being re-used although it should be recomputed</p>



<a name="237840517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840517">(May 07 2021 at 15:21)</a>:</h4>
<p>hmm</p>



<a name="237840524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840524">(May 07 2021 at 15:21)</a>:</h4>
<p>okay</p>



<a name="237840538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840538">(May 07 2021 at 15:21)</a>:</h4>
<p>the collision probability is very low (but not zero) if the inputs to the hash function are sound</p>



<a name="237840561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840561">(May 07 2021 at 15:21)</a>:</h4>
<p>maybe I need to re-read <a href="https://github.com/rust-lang/rust/issues/82920">#82920</a> more carefully</p>



<a name="237840652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840652">(May 07 2021 at 15:22)</a>:</h4>
<p>so there is always a non-zero but very small probability that incr. comp. misses a change</p>



<a name="237840763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840763">(May 07 2021 at 15:23)</a>:</h4>
<p>but I have to say that I don't have a clear handle right now of what  exactly was going wrong in that miscompilation bug</p>



<a name="237840831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840831">(May 07 2021 at 15:23)</a>:</h4>
<p>I think we're actually not including some state, so we're seeing "very likely" to collide, in some sense, right?</p>



<a name="237840854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840854">(May 07 2021 at 15:23)</a>:</h4>
<p>i.e., if we're just not hashing some input, and that input changes, we're guaranteed to collide</p>



<a name="237840955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237840955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237840955">(May 07 2021 at 15:24)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124287">mw</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237840502">said</a>:</p>
<blockquote>
<p>a hash collision, whatever the cause, will lead to a false negative, i.e. something being re-used although it should be recomputed</p>
</blockquote>
<p>Oh I misread this message. Your point here is that a false negative very well <em>could</em> yield a miscompilation</p>



<a name="237841009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841009">(May 07 2021 at 15:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> yes</p>



<a name="237841192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841192">(May 07 2021 at 15:26)</a>:</h4>
<p>Maybe <a href="https://github.com/rust-lang/rust/issues/82920">#82920</a> was caused by a variation of feeding something wrong to the hash function? i.e. we often sort things before stable-hashing so that the input is deterministic</p>



<a name="237841273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841273">(May 07 2021 at 15:26)</a>:</h4>
<p>that is only valid for things where the order does not matter, like hash-sets or hash-maps</p>



<a name="237841329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841329">(May 07 2021 at 15:26)</a>:</h4>
<p>I’m re-reading <a href="https://github.com/rust-lang/rust/issues/82920">#82920</a> more carefully now</p>



<a name="237841462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841462">(May 07 2021 at 15:28)</a>:</h4>
<p>so is the point that the fingerprint computation was taking in a sorted list, but the sort function itself was based on a key that was derived from unstable state</p>



<a name="237841708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841708">(May 07 2021 at 15:29)</a>:</h4>
<p>but did that then lead to a hash collision =&gt; false negative =&gt; incorrect reuse =&gt; miscompilation?</p>



<a name="237841851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841851">(May 07 2021 at 15:30)</a>:</h4>
<p>I think so, based on <a href="https://github.com/rust-lang/rust/issues/82920#issuecomment-797852633">https://github.com/rust-lang/rust/issues/82920#issuecomment-797852633</a></p>



<a name="237841864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841864">(May 07 2021 at 15:30)</a>:</h4>
<p>and the point here is that a hash collision is not absurd to expect in a case like this, because we were not sound in our handling of the input?</p>



<a name="237841917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237841917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237841917">(May 07 2021 at 15:30)</a>:</h4>
<p>(I really do wish I had a better grip on the probabillty functions involved here.)</p>



<a name="237842056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237842056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237842056">(May 07 2021 at 15:31)</a>:</h4>
<p>Anyway: Okay. I’ll go back to writing the blog post.</p>



<a name="237844841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237844841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237844841">(May 07 2021 at 15:48)</a>:</h4>
<p>OK I think I understand what's going on now:</p>
<ul>
<li>the result of <code>super_predicates_that_define_assoc_type</code> depends on something that is not tracked by the tracking system (i.e. the numerical values of <code>DefId</code>s) -- so when another query that depends on it wants to check if its cache entry is still valid, the tracking system tells them: nothing has changed, go ahead and re-use your cached entry.</li>
<li>but <code>super_predicates_that_define_assoc_type</code> itself is <em>not</em>  cached on disk so when we later need the actual result of that query, we have to re-compute it -- but re-computation will produce a different value than the one that has been hashed.</li>
<li>in the end we are left with some value X loaded from disk that depended on  <code>super_predicates_that_define_assoc_type</code> to be in the original state, and then another value Y that will use the new value of <code>super_predicates_that_define_assoc_type</code>, thus creating a mismatch.</li>
</ul>



<a name="237845078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237845078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237845078">(May 07 2021 at 15:49)</a>:</h4>
<p><code>-Zverify_incremental_ich</code> will help here because it will observe the value having changed unexpectedly</p>



<a name="237845551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237845551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237845551">(May 07 2021 at 15:52)</a>:</h4>
<p>does that help, <span class="user-mention" data-user-id="116083">@pnkfelix</span>?</p>



<a name="237846411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237846411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237846411">(May 07 2021 at 15:57)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827692">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237827169">said</a>:</p>
<blockquote>
<p>there are some people who are (or were) very involved with incr-comp yet are not on wg-incr-comp</p>
</blockquote>
<p>also <span class="user-mention silent" data-user-id="281739">oliver</span></p>
</blockquote>
<p><span class="user-mention" data-user-id="124288">@oli</span></p>



<a name="237859154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859154">(May 07 2021 at 17:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> The unstable fingerprint issues aren't caused by hash collisions</p>



<a name="237859192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859192">(May 07 2021 at 17:19)</a>:</h4>
<p>Here's what happens:</p>



<a name="237859272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859272">(May 07 2021 at 17:19)</a>:</h4>
<p>(Is mw’s summary above accurate?)</p>



<a name="237859407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859407">(May 07 2021 at 17:20)</a>:</h4>
<p>Yes</p>



<a name="237859508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859508">(May 07 2021 at 17:21)</a>:</h4>
<p>I haven't observed a miscompilation with any of the other queries - but they would happen in a similar way</p>



<a name="237859610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859610">(May 07 2021 at 17:21)</a>:</h4>
<p>Okay.  I was narrowly thinking of “accidental reuse” as being the only kind of codegen miscompilation, and also thinking that accidental reuse would only result from hash collisions. But I think mw’s explanation shows how that narrow thinking is wrong.</p>



<a name="237859614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859614">(May 07 2021 at 17:21)</a>:</h4>
<p>Some cached result depends on the old value of an uncached query, and is not recomputed despite the uncached query xhqnging</p>



<a name="237859850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859850">(May 07 2021 at 17:22)</a>:</h4>
<p>(I’m still curious about the <em>likelihood</em> of miscompilations, but I can see that the probabilities there are not just about hash collision probabilities, but rather about query infrastructure artifacts, as you state.)</p>



<a name="237859907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237859907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237859907">(May 07 2021 at 17:23)</a>:</h4>
<p>This will help the blog post be more accurate, in any case. (I don’t intend to get into this level of detail there. I just want to make sure that my high-level summary is not misleading.)</p>



<a name="237878435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237878435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237878435">(May 07 2021 at 19:34)</a>:</h4>
<p>Blog post PR: <a href="https://github.com/rust-lang/blog.rust-lang.org/pull/836">https://github.com/rust-lang/blog.rust-lang.org/pull/836</a></p>



<a name="237878622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237878622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237878622">(May 07 2021 at 19:35)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> <span class="user-mention" data-user-id="125294">@Aaron Hill</span> <span class="user-mention" data-user-id="125250">@Wesley Wiser</span> if you all have time, I’d love to have your eyeballs on it.</p>



<a name="237878892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237878892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237878892">(May 07 2021 at 19:37)</a>:</h4>
<p>"When loading a value from the cache, it recomputes the fingerprint,"</p>



<a name="237878985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237878985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237878985">(May 07 2021 at 19:38)</a>:</h4>
<p>That's not correct - the enabled check is only run when we need to re-run the query</p>



<a name="237879011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879011">(May 07 2021 at 19:38)</a>:</h4>
<p>Since it's not stored on disk</p>



<a name="237879380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879380">(May 07 2021 at 19:41)</a>:</h4>
<p>We explicitly do <em>not</em> re-verify the hash for results loaded from disk, due to performance concerns</p>



<a name="237879383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879383">(May 07 2021 at 19:41)</a>:</h4>
<p>(though it would be good to do that as well if we can improve performance)</p>



<a name="237879416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879416">(May 07 2021 at 19:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> in broad strokes looks good (I guess <span class="user-mention" data-user-id="125294">@Aaron Hill</span> rightfully points out a problem), I'm happy to merge once that's resolved - I think it's more important we get this published so there's something out there for users.</p>



<a name="237879430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879430">(May 07 2021 at 19:41)</a>:</h4>
<p>hmm I thought I even looked at the source code when I was writing that section</p>



<a name="237879497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879497">(May 07 2021 at 19:42)</a>:</h4>
<p>let me go see where I misperception arose</p>



<a name="237879720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879720">(May 07 2021 at 19:44)</a>:</h4>
<p>The overall message is good though</p>



<a name="237879721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879721">(May 07 2021 at 19:44)</a>:</h4>
<p>and users don't really need to know the distinction</p>



<a name="237879722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879722">(May 07 2021 at 19:44)</a>:</h4>
<p>The important points are: it's a compiler bug, and previously releases silently allowed it</p>



<a name="237879789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879789">(May 07 2021 at 19:44)</a>:</h4>
<p>Which are both well-described in the post</p>



<a name="237879976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237879976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237879976">(May 07 2021 at 19:45)</a>:</h4>
<p>okay anyway the comments in the code make it clear that I was wrong</p>



<a name="237880555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237880555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237880555">(May 07 2021 at 19:49)</a>:</h4>
<p><span class="user-mention" data-user-id="125294">@Aaron Hill</span> is a better phrasing something like this: “The compiler even stores fingerprints even for uncached values. Then, every time we compute an uncached value, we double-check its newly computed fingerprint against the fingerprint stored in the cache.” ?</p>



<a name="237880729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237880729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237880729">(May 07 2021 at 19:51)</a>:</h4>
<p>(this also makes a bit more sense to me, in terms of why the check even <em>worked</em> in the context of <a href="https://github.com/rust-lang/rust/issues/82920">#82920</a> )</p>



<a name="237880900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237880900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237880900">(May 07 2021 at 19:52)</a>:</h4>
<p>Sounds good to me</p>



<a name="237880968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237880968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237880968">(May 07 2021 at 19:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> any objections to the filename? “caught-red-handed.md”</p>



<a name="237880986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237880986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237880986">(May 07 2021 at 19:53)</a>:</h4>
<p><span aria-label="shrug" class="emoji emoji-1f937" role="img" title="shrug">:shrug:</span></p>



<a name="237881007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237881007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237881007">(May 07 2021 at 19:53)</a>:</h4>
<p>my dad-joke nature might be getting the better of me there</p>



<a name="237881953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237881953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237881953">(May 07 2021 at 19:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> one other thing: I would probably remove the user name from the error output under "How does this show up"</p>



<a name="237884879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237884879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237884879">(May 07 2021 at 20:22)</a>:</h4>
<p>I was rightfully told that that merging this tonight may look like we're hiding it, as it's a friday afternoon</p>



<a name="237885077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237885077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237885077">(May 07 2021 at 20:24)</a>:</h4>
<p>so I think we'll aim for Monday 11am ET, or so</p>



<a name="237885107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237885107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237885107">(May 07 2021 at 20:25)</a>:</h4>
<p>I will pin an issue with roughly a copy/paste of the blog post to rust-lang/rust for now</p>



<a name="237885510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237885510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237885510">(May 07 2021 at 20:28)</a>:</h4>
<p>alright, did that</p>



<a name="237890156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237890156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237890156">(May 07 2021 at 21:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237881953">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> one other thing: I would probably remove the user name from the error output under "How does this show up"</p>
</blockquote>
<p>okay let me do somthing along those lines. (Including that spew of output doesn’t really buy us all that much anyway; I just wanted to point out that one doesn’t always see the concrete fingerprint values)</p>



<a name="237891659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891659">(May 07 2021 at 21:18)</a>:</h4>
<p>would it be possible to turn this ICE into a warning, by using the newly recomputed result for the query result?</p>



<a name="237891748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891748">(May 07 2021 at 21:19)</a>:</h4>
<p><span class="user-mention silent" data-user-id="211727">Jonas Schievink  [he/him]</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237891659">said</a>:</p>
<blockquote>
<p>would it be possible to turn this ICE into a warning, by using the newly recomputed result for the query result?</p>
</blockquote>
<p>this doesn't fix the issue, see above: <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237844841">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237844841</a><br>
in particular</p>
<blockquote>
<p>in the end we are left with some value X loaded from disk that depended on super_predicates_that_define_assoc_type to be in the original state, and then another value Y that will use the new value of super_predicates_that_define_assoc_type, thus creating a mismatch.</p>
</blockquote>



<a name="237891866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891866">(May 07 2021 at 21:20)</a>:</h4>
<p>(unless there's some complicated logic for invalidating red/green nodes, but I don't think that can work because it could have been cached before we found the new hash)</p>



<a name="237891929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891929">(May 07 2021 at 21:21)</a>:</h4>
<p>but in order to know that we can use X, we first have to mark the query that computed it as green (and thus all of its inputs)</p>



<a name="237891976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891976">(May 07 2021 at 21:21)</a>:</h4>
<p>your idea is to calculate the hash while marking it as green?</p>



<a name="237891979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891979">(May 07 2021 at 21:21)</a>:</h4>
<p>and if the recomputed value for super_predicates_that_define_assoc_type changes we just wouldn't mark that query as green</p>



<a name="237891995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237891995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237891995">(May 07 2021 at 21:21)</a>:</h4>
<p>(and thus recompute all dependent query results)</p>



<a name="237892046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892046">(May 07 2021 at 21:22)</a>:</h4>
<p>hmm I don't know enough about the query system to know if that would work - maybe <span class="user-mention" data-user-id="124287">@mw</span> or <span class="user-mention" data-user-id="125294">@Aaron Hill</span> have ideas</p>



<a name="237892667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892667">(May 07 2021 at 21:28)</a>:</h4>
<p>(deleted)</p>



<a name="237892765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892765">(May 07 2021 at 21:28)</a>:</h4>
<p>I don't know why that previous message was sent</p>



<a name="237892790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892790">(May 07 2021 at 21:29)</a>:</h4>
<p>That's an interesting idea</p>



<a name="237892814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892814">(May 07 2021 at 21:29)</a>:</h4>
<p>My concern would be that it might have some unexpected side effects</p>



<a name="237892843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892843">(May 07 2021 at 21:29)</a>:</h4>
<p>and that normally, we'd want such a change to get tested through nightly and beta first</p>



<a name="237892910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892910">(May 07 2021 at 21:30)</a>:</h4>
<p>But for it to be useful here, we'd want to stable backport it</p>



<a name="237892973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237892973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237892973">(May 07 2021 at 21:30)</a>:</h4>
<p>Since otherwise, we might as well just fix the underlying bugs on time for the next release</p>



<a name="237893010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893010">(May 07 2021 at 21:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="125294">Aaron Hill</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237892973">said</a>:</p>
<blockquote>
<p>Since otherwise, we might as well just fix the underlying bugs on time for the next release</p>
</blockquote>
<p>well, "just" here is a bit of a tall order <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="237893044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893044">(May 07 2021 at 21:31)</a>:</h4>
<p>especially since it's already been I think almost 12 weeks since verify-ich was turned on by default</p>



<a name="237893375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893375">(May 07 2021 at 21:34)</a>:</h4>
<p>yeah, this isn't necessarily a stable-backport-ready idea</p>



<a name="237893397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893397">(May 07 2021 at 21:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="211727">Jonas Schievink  [he/him]</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237893375">said</a>:</p>
<blockquote>
<p>yeah, this isn't necessarily a stable-backport-ready idea</p>
</blockquote>
<p>I do like it in general though :)</p>



<a name="237893587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893587">(May 07 2021 at 21:36)</a>:</h4>
<p><span class="user-mention silent" data-user-id="211727">Jonas Schievink  [he/him]</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237891979">said</a>:</p>
<blockquote>
<p>and if the recomputed value for super_predicates_that_define_assoc_type changes we just wouldn't mark that query as green</p>
</blockquote>
<p>This looks very much like making super_predicates_that_define_assoc_type an eval_always query. Didn't <span class="user-mention" data-user-id="125294">@Aaron Hill</span> show that was a sizeable perf regression?</p>



<a name="237893662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893662">(May 07 2021 at 21:37)</a>:</h4>
<p><span class="user-mention" data-user-id="248906">@cjgillot</span> not quite - it would only have to be evaluated once per compiler invocation</p>



<a name="237893725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893725">(May 07 2021 at 21:37)</a>:</h4>
<p>The key different would be that <code>eval_always</code> forces us to re-run the query, even if all the inputs are green</p>



<a name="237893787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893787">(May 07 2021 at 21:38)</a>:</h4>
<p>This approach would mean that we try to 'recover' from the query producing a bad result <em>when it was already being re-run</em></p>



<a name="237893830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893830">(May 07 2021 at 21:38)</a>:</h4>
<p>before we started verifying the hash, we would assume that the query was still green</p>



<a name="237893835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893835">(May 07 2021 at 21:38)</a>:</h4>
<p><span class="user-mention" data-user-id="232545">@Joshua Nelson</span> eval_always queries are only run once per compiler invocation.</p>



<a name="237893843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893843">(May 07 2021 at 21:38)</a>:</h4>
<p>this would make us mark it red</p>



<a name="237893859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237893859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237893859">(May 07 2021 at 21:39)</a>:</h4>
<p>/me stops talking about things he doesn't understand</p>



<a name="237894022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894022">(May 07 2021 at 21:40)</a>:</h4>
<p>Doing this would probably reintroduce the miscompilation verify-ich wanted to avoid, but with a warning.</p>



<a name="237894070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894070">(May 07 2021 at 21:40)</a>:</h4>
<p>no, I think it could avoid the miscompilation entirely</p>



<a name="237894090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894090">(May 07 2021 at 21:40)</a>:</h4>
<p>at least the one we know about</p>



<a name="237894115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894115">(May 07 2021 at 21:41)</a>:</h4>
<p>that miscompilation was caused by us incorrectly re-using a query result that depended on <code>predicates_of</code></p>



<a name="237894135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894135">(May 07 2021 at 21:41)</a>:</h4>
<p>specifically, we were re-using a query that computed the order of methods in the vtable</p>



<a name="237894158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894158">(May 07 2021 at 21:41)</a>:</h4>
<p>since we weren't verifying the hash, we assumed that <code>predicates_of</code> was green, so we didn't re-compute that other query</p>



<a name="237894182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894182">(May 07 2021 at 21:41)</a>:</h4>
<p>With this change, we would mark <code>predicates_of</code> as red when we detected the mismatch</p>



<a name="237894205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894205">(May 07 2021 at 21:41)</a>:</h4>
<p>which would cause the vtable-related query to get re-run</p>



<a name="237894269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894269">(May 07 2021 at 21:42)</a>:</h4>
<p>I'm pretty sure that this would avoid any other miscompilations that would be induced by 'recovering' from a hash mismatch</p>



<a name="237894272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894272">(May 07 2021 at 21:42)</a>:</h4>
<p>but I'm not 100% certain</p>



<a name="237894273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894273">(May 07 2021 at 21:42)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237893859">said</a>:</p>
<blockquote>
<p>/me stops talking about things he doesn't understand</p>
</blockquote>
<p>For your defense, the terminology is not straightforward: <code>eval_always</code> means that we compute the query the first time we need to know whether it is red or green. The result is then cached for later access, like all queries.</p>



<a name="237894325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894325">(May 07 2021 at 21:42)</a>:</h4>
<p>we might want to rename it to <code>always_recompute</code> or something</p>



<a name="237894344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894344">(May 07 2021 at 21:43)</a>:</h4>
<p>because I also thought that <code>eval_always</code> meant 'run the query every time it's called' at first</p>



<a name="237894361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894361">(May 07 2021 at 21:43)</a>:</h4>
<p>when it really only affects incr-comp</p>



<a name="237894693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894693">(May 07 2021 at 21:46)</a>:</h4>
<p><span class="user-mention silent" data-user-id="125294">Aaron Hill</span> <a href="#narrow/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52/near/237894205">said</a>:</p>
<blockquote>
<p>which would cause the vtable-related query to get re-run</p>
</blockquote>
<p>We may still end up in an inconsistent state. Consider the following:<br>
Query A is cached on disk. When calling A, it checks that predicates_of is green. It is (erroneously). A is loaded from disk.<br>
Query B is not cached on disk. When calling B, it computes predicates_of, and finds it red. It issues a warning, then proceeds to computing B.<br>
As a consequence, A and B are computed with a inconsistent values of predicates_of.</p>



<a name="237894734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894734">(May 07 2021 at 21:46)</a>:</h4>
<p>I don't know which of A or B is the vtable-related query.</p>



<a name="237894858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894858">(May 07 2021 at 21:47)</a>:</h4>
<p>oh, I see</p>



<a name="237894860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894860">(May 07 2021 at 21:47)</a>:</h4>
<p>hmm, why would <code>predicates_of</code> be green in the first but not the second case?</p>



<a name="237894908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894908">(May 07 2021 at 21:47)</a>:</h4>
<p>We only need to actually recompute <code>predicate_of</code> if we need its value</p>



<a name="237894923"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/unstable%20fingerprints%20-%20actually%20in%201.52/near/237894923" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cjgillot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/unstable.20fingerprints.20-.20actually.20in.201.2E52.html#237894923">(May 07 2021 at 21:47)</a>:</h4>
<p>In the first case, the incr-comp engine assumes a query is green if all its dependencies are.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>